// XMLDocument.h: interface for the CXMLDocument class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_XMLDOCUMENT_H__EF5FFB06_47C1_43AF_B4A1_E49EF5A6CED3__INCLUDED_)
#define AFX_XMLDOCUMENT_H__EF5FFB06_47C1_43AF_B4A1_E49EF5A6CED3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "base.h"

class CXMLNode;
class BASE_API CXMLDocument  
{
public:
	void Print();
	int ParseComment(const char *pbuf,int len);
	int Parse(const char *pbuf,int len);
	int Parse(const char *pfilename);
	const CXMLNode *GetRootNode(){return m_pRootNode;};
	CXMLDocument();
	virtual ~CXMLDocument();
private:
	int ParseCDATA(const char *pbuf,int len);
	int ParseDOCTYPE(const char *pbuf,int len);
	int ParseDeclare(const char *pbuf,int len);
private:
	bool			m_bStandalone;
	CXMLNode*		m_pRootNode;
};

#endif // !defined(AFX_XMLDOCUMENT_H__EF5FFB06_47C1_43AF_B4A1_E49EF5A6CED3__INCLUDED_)
